Introduction

A study on driving performance and In Vehicle infotainment system has been done. The study aims to answer two questions. 1) Can the addition of tactile navigation improve driving performance 2) Which tactile navigation (if any) improves driving performance most

The first part of this statistical analysis aims to investigate the sample to answer if the data is normally distributed and if the participants’s characteristics are distributed across the four conditions. If this is not the case an effect of condition could be attributed to other personal factors of the participants (e.g. gaming experience).

Dependent variables:
- SUS
- SART
- Total Crash
- Lane Breaks
- Total Glances
- Total Glance Time

Independent variable:
- Condition (Acrylic, Bar, Combination & Touch only)

Demographics:
- Age
- Gender
- Gaming
- Drivers licence Years
- Automatic gear experience
- Car Simulator

Population

A summary of ‘Age’ and ‘Years with drivers licence’. As with the bar graph for age we have a lot of people between 20-23 and most participants have had a drivers licence for 3-5 years.

Agessummary <- summary(SartSusDemo[c('Age')])

Drivingsummary <- summary(SartSusDemo[c('YearDriversLicence')])

Metricsummary <- summary(SartSusDemo[c('SART','SUS','Total_Glance_time','Total_Glances','Total_crash','Lane_Breaks')])

Agessummary
##       Age      
##  Min.   :20.0  
##  1st Qu.:21.0  
##  Median :22.0  
##  Mean   :22.7  
##  3rd Qu.:23.0  
##  Max.   :34.0
sd(SartSusDemo$Age)
## [1] 2.575191
Drivingsummary
##  YearDriversLicence
##  Min.   : 1.833    
##  1st Qu.: 3.479    
##  Median : 4.417    
##  Mean   : 4.778    
##  3rd Qu.: 5.417    
##  Max.   :16.000
sd(SartSusDemo$YearDriversLicence)
## [1] 2.418032

Effect due to condition

To answer the first question of whether condition have an effect on the 6 metrics we’ll create a plot of means with confidence (95%) as whiskers. According to Geoff Cumming and Sue Finch if the data has the same standard deviation it is possible to gain insight into which data could be significantly different.

Plot of means Condition/metric

To test significance we will use ANOVA
ANOVA has Three assumptions
1) Normality
2) Homogenity
3) Independence
The assumption of Independence is meet as our participants haven’t influence each other in any way we know of. The participants were instructed not to speak with each other between trials and we can hope they have met this instruction.

Test of normality - Condition/metric

Cond1 <- subset(SartSusDemo, SartSusDemo$Condition=='Combination')
Cond2 <- subset(SartSusDemo, SartSusDemo$Condition=='Touch_only')
Cond3 <- subset(SartSusDemo, SartSusDemo$Condition=='Bar')
Cond4 <- subset(SartSusDemo, SartSusDemo$Condition=='Acrylic')

  shapiro.test(Cond1$SUS)
## 
##  Shapiro-Wilk normality test
## 
## data:  Cond1$SUS
## W = 0.73925, p-value = 0.001505
  shapiro.test(Cond2$SUS)
## 
##  Shapiro-Wilk normality test
## 
## data:  Cond2$SUS
## W = 0.91515, p-value = 0.2803
  shapiro.test(Cond3$SUS)
## 
##  Shapiro-Wilk normality test
## 
## data:  Cond3$SUS
## W = 0.92941, p-value = 0.4049
  shapiro.test(Cond4$SUS)
## 
##  Shapiro-Wilk normality test
## 
## data:  Cond4$SUS
## W = 0.87781, p-value = 0.09759
  shapiro.test(Cond1$SART)
## 
##  Shapiro-Wilk normality test
## 
## data:  Cond1$SART
## W = 0.92912, p-value = 0.4021
  shapiro.test(Cond2$SART)
## 
##  Shapiro-Wilk normality test
## 
## data:  Cond2$SART
## W = 0.83396, p-value = 0.02632
  shapiro.test(Cond3$SART)
## 
##  Shapiro-Wilk normality test
## 
## data:  Cond3$SART
## W = 0.96283, p-value = 0.8064
  shapiro.test(Cond4$SART)
## 
##  Shapiro-Wilk normality test
## 
## data:  Cond4$SART
## W = 0.98203, p-value = 0.9764
  shapiro.test(Cond1$Total_Glance_time)
## 
##  Shapiro-Wilk normality test
## 
## data:  Cond1$Total_Glance_time
## W = 0.94149, p-value = 0.5381
  shapiro.test(Cond2$Total_Glance_time)
## 
##  Shapiro-Wilk normality test
## 
## data:  Cond2$Total_Glance_time
## W = 0.92679, p-value = 0.3793
  shapiro.test(Cond3$Total_Glance_time)
## 
##  Shapiro-Wilk normality test
## 
## data:  Cond3$Total_Glance_time
## W = 0.95557, p-value = 0.7155
  shapiro.test(Cond4$Total_Glance_time)
## 
##  Shapiro-Wilk normality test
## 
## data:  Cond4$Total_Glance_time
## W = 0.91494, p-value = 0.2787
  shapiro.test(Cond1$Total_Glances)
## 
##  Shapiro-Wilk normality test
## 
## data:  Cond1$Total_Glances
## W = 0.97154, p-value = 0.9016
  shapiro.test(Cond2$Total_Glances)
## 
##  Shapiro-Wilk normality test
## 
## data:  Cond2$Total_Glances
## W = 0.84398, p-value = 0.03561
  shapiro.test(Cond3$Total_Glances)
## 
##  Shapiro-Wilk normality test
## 
## data:  Cond3$Total_Glances
## W = 0.91694, p-value = 0.294
  shapiro.test(Cond4$Total_Glances)
## 
##  Shapiro-Wilk normality test
## 
## data:  Cond4$Total_Glances
## W = 0.94695, p-value = 0.6053
  shapiro.test(Cond1$Lane_Breaks)
## 
##  Shapiro-Wilk normality test
## 
## data:  Cond1$Lane_Breaks
## W = 0.95245, p-value = 0.6754
  shapiro.test(Cond2$Lane_Breaks)
## 
##  Shapiro-Wilk normality test
## 
## data:  Cond2$Lane_Breaks
## W = 0.95583, p-value = 0.7188
  shapiro.test(Cond3$Lane_Breaks)
## 
##  Shapiro-Wilk normality test
## 
## data:  Cond3$Lane_Breaks
## W = 0.84061, p-value = 0.03216
  shapiro.test(Cond4$Lane_Breaks)
## 
##  Shapiro-Wilk normality test
## 
## data:  Cond4$Lane_Breaks
## W = 0.90516, p-value = 0.2135
  shapiro.test(Cond1$Total_crash)
## 
##  Shapiro-Wilk normality test
## 
## data:  Cond1$Total_crash
## W = 0.64917, p-value = 0.0001052
  shapiro.test(Cond2$Total_crash)
## 
##  Shapiro-Wilk normality test
## 
## data:  Cond2$Total_crash
## W = 0.64952, p-value = 0.0001063
  shapiro.test(Cond3$Total_crash)
## 
##  Shapiro-Wilk normality test
## 
## data:  Cond3$Total_crash
## W = 0.75613, p-value = 0.002499
  shapiro.test(Cond4$Total_crash)
## 
##  Shapiro-Wilk normality test
## 
## data:  Cond4$Total_crash
## W = 0.70136, p-value = 0.0004869

qqplots of the not normally distributed

There are 8 scores which break normality
Condition 1 - SUS (0.001505)
Condition 2 - SART (0.02632)
Condition 2 - Total Glances (0.03561)
Condition 3 - Lane breaks (0.03216)

Condition 1 - Total Crash (0.0001052)
Condition 2 - Total Crash (0.0001063)
Condition 3 - Total Crash (0.002371)
Condition 4 - Total Crash (0.0001063)

Rethink crash data

Another way to present the crash data would be to score crashes pr condition: It can be seen on this graph that each condition has about the same total crashes and some conditions have one or two participants responsible for extra crashes.

Test of homogeneity - Condition/metric

To test for homogeneity we’ll use Levines test for the scores which aren’t normally distributed and Bartletts test for the scores which are normally distributed.

## Levene's Test for Homogeneity of Variance (center = median)
##       Df F value Pr(>F)
## group  3  0.2143 0.8859
##       40
## Levene's Test for Homogeneity of Variance (center = median)
##       Df F value Pr(>F)
## group  3  0.4316 0.7315
##       40
## Levene's Test for Homogeneity of Variance (center = median)
##       Df F value  Pr(>F)  
## group  3  2.3109 0.09079 .
##       40                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
##  Bartlett test of homogeneity of variances
## 
## data:  Total_Glance_time by Condition
## Bartlett's K-squared = 1.2274, df = 3, p-value = 0.7464
## Levene's Test for Homogeneity of Variance (center = median)
##       Df F value Pr(>F)
## group  3   0.058 0.9814
##       40
## Levene's Test for Homogeneity of Variance (center = median)
##       Df F value Pr(>F)
## group  3  0.4612 0.7109
##       40

We see that the variance in metrics across the four conditions are not significantly different. ### Distribution of metrics (Bar and density) - SUS
- SART
- Total Crash
- Lane Breaks
- Total Glances
- Total Glance Time

Bar

SUSTotal <- ggplot(data=SartSusDemo, mapping=aes(x=SUS,fill = Condition))
SUSTotal <- SUSTotal + geom_bar(col="black", size=.3)+ scale_y_continuous(name = "Count",breaks=c(0:150)) + ggtitle("SUSTotal distribution")+ scale_fill_brewer(palette=Palette)

SARTTotal <- ggplot(data=SartSusDemo, mapping=aes(x=SART,fill = Condition))
SARTTotal <- SARTTotal + geom_bar(col="black", size=.3)+ scale_y_continuous(name = "Count",breaks=c(0:150)) + ggtitle("SARTTotal distribution")+ scale_fill_brewer(palette=Palette)

TotalCrashTotal <- ggplot(data=SartSusDemo, mapping=aes(x=Total_crash,fill = Condition))
TotalCrashTotal <- TotalCrashTotal + geom_bar(col="black", size=.3)+ scale_y_continuous(name = "Count",breaks=c(0:150)) + ggtitle("TotalCrashTotal distribution")+ scale_fill_brewer(palette=Palette)

LaneBreakTotal <- ggplot(data=SartSusDemo, mapping=aes(x=Lane_Breaks,fill = Condition))
LaneBreakTotal <- LaneBreakTotal + geom_bar(col="black", size=.3)+ scale_y_continuous(name = "Count",breaks=c(0:150)) + ggtitle("LaneBreakTotal distribution")+ scale_fill_brewer(palette=Palette)

GlancesTotal <- ggplot(data=SartSusDemo, mapping=aes(x=Total_Glances,fill = Condition))
GlancesTotal <- GlancesTotal + geom_bar(col="black", size=.3)+ scale_y_continuous(name = "Count",breaks=c(0:150)) + ggtitle("GlancesTotal distribution")+ scale_fill_brewer(palette=Palette)

GlanceTimeTotal <- ggplot(data=SartSusDemo, mapping=aes(x=Total_Glance_time,fill = Condition))
GlanceTimeTotal <- GlanceTimeTotal + geom_bar(col="black", size=.3)+ scale_y_continuous(name = "Count",breaks=c(0:150)) + ggtitle("SUGlanceTimeTotalSTotal distribution")+ scale_fill_brewer(palette=Palette)

SUSTotal

SARTTotal

TotalCrashTotal

LaneBreakTotal

GlancesTotal

GlanceTimeTotal

Density

alpha <- 0.4
SUSTotal <- ggplot(data=SartSusDemo, mapping=aes(x=SUS,fill = Condition,alpha=alpha))
SUSTotal <- SUSTotal + geom_density()  + ggtitle("SUSTotal distribution")+ scale_fill_brewer(palette=Palette)

SARTTotal <- ggplot(data=SartSusDemo, mapping=aes(x=SART,fill = Condition,alpha=alpha))
SARTTotal <- SARTTotal + geom_density()  + ggtitle("SARTTotal distribution")+ scale_fill_brewer(palette=Palette)

TotalCrashTotal <- ggplot(data=SartSusDemo, mapping=aes(x=Total_crash,fill = Condition,alpha=alpha))
TotalCrashTotal <- TotalCrashTotal + geom_density()  + ggtitle("TotalCrashTotal distribution")+ scale_fill_brewer(palette=Palette)

LaneBreakTotal <- ggplot(data=SartSusDemo, mapping=aes(x=Lane_Breaks,fill = Condition,alpha=alpha))
LaneBreakTotal <- LaneBreakTotal + geom_density()  + ggtitle("LaneBreakTotal distribution")+ scale_fill_brewer(palette=Palette)

GlancesTotal <- ggplot(data=SartSusDemo, mapping=aes(x=Total_Glances,fill = Condition,alpha=alpha))
GlancesTotal <- GlancesTotal + geom_density()  + ggtitle("GlancesTotal distribution")+ scale_fill_brewer(palette=Palette)

GlanceTimeTotal <- ggplot(data=SartSusDemo, mapping=aes(x=Total_Glance_time,fill = Condition,alpha=alpha))
GlanceTimeTotal <- GlanceTimeTotal + geom_density() + ggtitle("SUGlanceTimeTotalSTotal distribution")+ scale_fill_brewer(palette=Palette)

# SUSTotal
# SARTTotal
# TotalCrashTotal
# LaneBreakTotal
# GlancesTotal
# GlanceTimeTotal

ggplot(SartSusDemo, aes(x=Total_Glances, y=Total_Glance_time,color=Condition)) + geom_point(size=2, shape=23) + geom_smooth(method=lm,se=FALSE)

Test significance

We now have two options
1) Compute an ANOVA because it is said to be somewhat robust against violations of normal distribution
2) Compute a Welsh ANOVA (it is robust against normal distribution but not unequal variance (heteroscedastic))
3) Compute a Kruskal-Wallis test - as our data has equal varience (homoscedasticity) but is not normally distributed

We will choose option 3) and compute the Kruskal-Wallis test

Note: Total Glance Time is both normally distributed and has homoscedasticity and therefore an anova can be computed

SUS <- kruskal.test(SUS ~ Condition, data = SartSusDemo)
SART <- kruskal.test(SART ~ Condition, data = SartSusDemo)
Glances <- kruskal.test(Total_Glances ~ Condition, data = SartSusDemo)
Crashes <- kruskal.test(Total_crash ~ Condition, data = SartSusDemo)
LaneBreaks <- kruskal.test(Lane_Breaks ~ Condition, data = SartSusDemo)
GlanceTime <- aov(Total_Glance_time ~ Condition, data = SartSusDemo, var.equal = TRUE)

#fuckery
SUSanova <- aov(SUS ~ Condition, data = SartSusDemo)
qqPlot(resid(SUSanova))

## [1] 42 13
qqPlot(resid(GlanceTime))

## [1] 3 1
SUS
## 
##  Kruskal-Wallis rank sum test
## 
## data:  SUS by Condition
## Kruskal-Wallis chi-squared = 1.973, df = 3, p-value = 0.578
SART
## 
##  Kruskal-Wallis rank sum test
## 
## data:  SART by Condition
## Kruskal-Wallis chi-squared = 0.23728, df = 3, p-value = 0.9714
Glances
## 
##  Kruskal-Wallis rank sum test
## 
## data:  Total_Glances by Condition
## Kruskal-Wallis chi-squared = 4.2639, df = 3, p-value = 0.2343
Crashes
## 
##  Kruskal-Wallis rank sum test
## 
## data:  Total_crash by Condition
## Kruskal-Wallis chi-squared = 0.20269, df = 3, p-value = 0.9772
LaneBreaks
## 
##  Kruskal-Wallis rank sum test
## 
## data:  Lane_Breaks by Condition
## Kruskal-Wallis chi-squared = 0.23381, df = 3, p-value = 0.972
summary(GlanceTime)
##             Df Sum Sq Mean Sq F value Pr(>F)
## Condition    3    280   93.25   0.953  0.424
## Residuals   40   3914   97.86

None of the 6 metrics have significant differences between conditions

General metrics qqplot

To examine if the general metrics are normally distributed qqplots have been made for them.

## [1] 13 42
## 
##  Shapiro-Wilk normality test
## 
## data:  SartSusDemo$SUS
## W = 0.89318, p-value = 0.0006763

## [1] 17 35
## 
##  Shapiro-Wilk normality test
## 
## data:  SartSusDemo$SART
## W = 0.98053, p-value = 0.6548

## [1] 1 3
## 
##  Shapiro-Wilk normality test
## 
## data:  SartSusDemo$Total_Glance_time
## W = 0.9662, p-value = 0.2209

## [1]  6 36
## 
##  Shapiro-Wilk normality test
## 
## data:  SartSusDemo$Total_Glances
## W = 0.97353, p-value = 0.4005

## [1] 17 22
## 
##  Shapiro-Wilk normality test
## 
## data:  SartSusDemo$Total_crash
## W = 0.69591, p-value = 2.998e-08

## [1] 34 27
## 
##  Shapiro-Wilk normality test
## 
## data:  SartSusDemo$Lane_Breaks
## W = 0.9036, p-value = 0.001407

Plot of means - All Dependent variables vs All Independent variables

To investigate weather differences in demographics have had an influence on conditions a plot of means for each metric will be performed with each independent variable. This will be done with wiskers as 95% confidence interval and if the data has homoscedasticity it could be possible to eyeball significant influences. If these are detected we’ll perform a t-test

Dependent variables:
- SUS
- SART
- Total Crash
- Lane Breaks
- Total Glances
- Total Glance Time

Independent variables:
- Condition
- Gender
- Gaming
- Drivers licence (This plot will have a linear model underneath it (x=Years with drivers license y=Dependent variable)) - Automatic gear
- Car Simulator

SUS

  SaveSixPlots(Metric="SUS")
## [[1]]

## 
## [[2]]

## 
## [[3]]

## 
## [[4]]

## 
## [[5]]
## 
## Call:
## lm(formula = y ~ x, data = SartSusDemo)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -30.709  -5.248   3.083   9.022  16.419 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  81.9245     4.1078  19.944   <2e-16 ***
## x            -0.5573     0.7688  -0.725    0.473    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 12.19 on 42 degrees of freedom
## Multiple R-squared:  0.01236,    Adjusted R-squared:  -0.01116 
## F-statistic: 0.5255 on 1 and 42 DF,  p-value: 0.4725
## 
## 
## [[6]]

## 
## [[7]]

Sart

  SaveSixPlots("SART")
## [[1]]

## 
## [[2]]

## 
## [[3]]

## 
## [[4]]

## 
## [[5]]
## 
## Call:
## lm(formula = y ~ x, data = SartSusDemo)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -11.1972  -2.7311   0.4113   2.7137  10.0469 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  15.8408     1.4230   11.13 4.15e-14 ***
## x            -0.2663     0.2663   -1.00    0.323    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4.223 on 42 degrees of freedom
## Multiple R-squared:  0.02326,    Adjusted R-squared:  1.648e-06 
## F-statistic:     1 on 1 and 42 DF,  p-value: 0.323
## 
## 
## [[6]]

## 
## [[7]]

### Total crash

  SaveSixPlots("Total_crash")
## [[1]]

## 
## [[2]]

## 
## [[3]]

## 
## [[4]]

## 
## [[5]]
## 
## Call:
## lm(formula = y ~ x, data = SartSusDemo)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -0.6238 -0.4931 -0.4454  0.4972  2.5693 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)
## (Intercept)  0.35983    0.23704   1.518    0.137
## x            0.02933    0.04436   0.661    0.512
## 
## Residual standard error: 0.7035 on 42 degrees of freedom
## Multiple R-squared:  0.0103, Adjusted R-squared:  -0.01326 
## F-statistic: 0.4372 on 1 and 42 DF,  p-value: 0.5121
## 
## 
## [[6]]

## 
## [[7]]

Lane Breaks

  SaveSixPlots("Lane_Breaks")
## [[1]]

## 
## [[2]]

## 
## [[3]]

## 
## [[4]]

## 
## [[5]]
## 
## Call:
## lm(formula = y ~ x, data = SartSusDemo)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -4.543 -2.116 -0.846  1.936 11.433 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)   
## (Intercept)   3.2883     1.1018   2.985  0.00472 **
## x             0.1394     0.2062   0.676  0.50263   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.27 on 42 degrees of freedom
## Multiple R-squared:  0.01077,    Adjusted R-squared:  -0.01278 
## F-statistic: 0.4572 on 1 and 42 DF,  p-value: 0.5026
## 
## 
## [[6]]

## 
## [[7]]

Total Glances

  SaveSixPlots("Total_Glances")
## [[1]]

## 
## [[2]]

## 
## [[3]]

## 
## [[4]]

## 
## [[5]]
## 
## Call:
## lm(formula = y ~ x, data = SartSusDemo)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -19.0630  -7.3500   0.1733   6.0047  31.5646 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  49.0715     3.6618  13.401   <2e-16 ***
## x            -0.1862     0.6853  -0.272    0.787    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 10.87 on 42 degrees of freedom
## Multiple R-squared:  0.001754,   Adjusted R-squared:  -0.02201 
## F-statistic: 0.0738 on 1 and 42 DF,  p-value: 0.7872
## 
## 
## [[6]]

## 
## [[7]]

### Total Glance time

## [[1]]

## 
## [[2]]

## 
## [[3]]

## 
## [[4]]

## 
## [[5]]
## 
## Call:
## lm(formula = y ~ x, data = SartSusDemo)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -16.2765  -8.3324   0.0377   5.3081  22.1420 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  38.4526     3.3570  11.454 1.67e-14 ***
## x            -0.3189     0.6283  -0.508    0.614    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 9.963 on 42 degrees of freedom
## Multiple R-squared:  0.006096,   Adjusted R-squared:  -0.01757 
## F-statistic: 0.2576 on 1 and 42 DF,  p-value: 0.6144
## 
## 
## [[6]]

## 
## [[7]]

From the many plot of means with confidence interval 95% as wisksers we’ve determined to test the following interactions

LaneBreaksAutomatic  <- t.test(formula = Lane_Breaks ~ Automatic, data = SartSusDemo)
SartGender <- t.test(formula = SART ~ Gender, data = SartSusDemo)
CrashComputer <- kruskal.test(formula = Total_crash ~ ComputerGames, data = SartSusDemo)
CrashAutomatic <- t.test(formula = Total_crash ~ Automatic, data = SartSusDemo)
GlanceTimeAutomatic <- t.test(formula = Total_Glance_time ~ Automatic, data = SartSusDemo)
GlanceCondition <- kruskal.test(formula = Total_Glance_time ~ Condition, data = SartSusDemo)
GlancesGender <- t.test(formula = Total_Glances ~ Gender, data = SartSusDemo)
GlancesAutomatic <- t.test(formula = Total_Glances ~ Automatic, data = SartSusDemo)

#MÃ¥ske er der noget med glances og condition
attach(SartSusDemo)
GlancesCondition <- pairwise.t.test(Total_Glances, Condition,p.adj = "bonf")
detach()

 LaneBreaksAutomatic
## 
##  Welch Two Sample t-test
## 
## data:  Lane_Breaks by Automatic
## t = 2.6531, df = 17.133, p-value = 0.01666
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  0.618242 5.406572
## sample estimates:
##  mean in group No mean in group Yes 
##          6.076923          3.064516
 SartGender
## 
##  Welch Two Sample t-test
## 
## data:  SART by Gender
## t = -2.4169, df = 17.261, p-value = 0.02699
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -5.9791715 -0.4090638
## sample estimates:
## mean in group F mean in group M 
##        12.10000        15.29412
 CrashComputer
## 
##  Kruskal-Wallis rank sum test
## 
## data:  Total_crash by ComputerGames
## Kruskal-Wallis chi-squared = 2.2623, df = 2, p-value = 0.3227
 CrashAutomatic
## 
##  Welch Two Sample t-test
## 
## data:  Total_crash by Automatic
## t = 1.7097, df = 14.508, p-value = 0.1086
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -0.1230151  1.1056453
## sample estimates:
##  mean in group No mean in group Yes 
##         0.8461538         0.3548387
 GlanceTimeAutomatic
## 
##  Welch Two Sample t-test
## 
## data:  Total_Glance_time by Automatic
## t = 2.953, df = 23.453, p-value = 0.007043
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##   2.626666 14.871746
## sample estimates:
##  mean in group No mean in group Yes 
##          43.09308          34.34387
 GlanceCondition
## 
##  Kruskal-Wallis rank sum test
## 
## data:  Total_Glance_time by Condition
## Kruskal-Wallis chi-squared = 2.4534, df = 3, p-value = 0.4838
 GlancesGender
## 
##  Welch Two Sample t-test
## 
## data:  Total_Glances by Gender
## t = 1.8374, df = 24.153, p-value = 0.07848
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -0.6707051 11.5883521
## sample estimates:
## mean in group F mean in group M 
##        52.40000        46.94118
 GlancesAutomatic
## 
##  Welch Two Sample t-test
## 
## data:  Total_Glances by Automatic
## t = 1.8943, df = 20.358, p-value = 0.07249
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -0.6836275 14.3610468
## sample estimates:
##  mean in group No mean in group Yes 
##          53.00000          46.16129
 GlancesCondition
## 
##  Pairwise comparisons using t tests with pooled SD 
## 
## data:  Total_Glances and Condition 
## 
##             Acrylic Bar Combination
## Bar         1.0     -   -          
## Combination 0.2     0.5 -          
## Touch_only  1.0     1.0 0.2        
## 
## P value adjustment method: bonferroni

When analysing this much data the risk of p-hacking increases. We’ll only use these significanses if there is a big heteroscedasticity in regards to the four conditions maybe this change can explain

The three significant effects were:
1) Lane_Breaks by Automatic 0.01666
2) Total_Glance_time by Automatic 0.007043
3) SART by Gender 0.02699

We’ll see if these effects have been equally distributed across the four conditions:

AutomaticExperienceCondition

Automatic experience is distributed quite nice with a difference of 2 between highest and lowest. Therefore this effect is irrelevant.

GenderCondition

Gender is distributed with a difference of 1 between highest and lowest. Therefore this effect is irrelevant